package cn.hellochaos.generator.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 渔业资源相关表
 * </p>
 *
 * @author fmy
 * @since 2021-07-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="fishery")
public class Fishery  extends BaseColumns//extends Model<Fishery>
{

    private static final long serialVersionUID = 1L;

    @TableId(value = "fishery_id", type = IdType.AUTO)
    @ApiModelProperty("渔业种质Id")
    //@JsonIgnore
    private Integer fisheryId;
    @ApiModelProperty("生物学分类编号，第一层是生物类别代码，用一位阿拉伯数字表示，其含义为:\n" +
            "1：鱼类\n" +
            "2：虾类\n" +
            "3：蟹类\n" +
            "4：贝类\n" +
            "5：藻类\n" +
            "6：龟\n" +
            "7：鳖类\n" +
            "8：其它。\n" +
            "\n" +
            "第二层是生活水域代码，用一位大写英文字母表示，其含义为H：海水D：淡水X：咸水Z：混合型。第三至五位是养殖品种顺序代码，用三位阿拉伯数字表示。\n")
    private String classificationId;
    @ApiModelProperty("统一编号，考虑方便工作人员查询，参考论文中的设计6级18位")
    private String queryId;
    @ApiModelProperty("中文名")
    private String chineseName;
    @ApiModelProperty("外文名")
    private String englishName;
    @ApiModelProperty("拉丁学名")
    private String latinName;
    @ApiModelProperty("纲")
    private String shu;
    @ApiModelProperty("目")
    private String gang;
    @ApiModelProperty("科")
    private String mu;
    @ApiModelProperty("属")
    private String ke;
    @ApiModelProperty("种")
    private String zhong;
    @ApiModelProperty("习性")
    private String habit;
    @ApiModelProperty("特征")
    private String characteristics;
    @ApiModelProperty("外形")
    private String appearance;
    @ApiModelProperty("外形图")
    private String appearanceImage;
    @ApiModelProperty("背鳍鳍式")
    private String beiQi;
    @ApiModelProperty("臀鳍鳍式")
    private String tunQi;
    @ApiModelProperty("侧线上鳞")
    private String shangLin;
    @ApiModelProperty("侧线下鳞")
    private String xiaLin;
    @ApiModelProperty("腮耙数(左侧第一鳃弓外侧鳃耙数)")
    private String saiPaShu;
    @ApiModelProperty("体长")
    private String length;
    @ApiModelProperty("体重")
    private String weight;
    @ApiModelProperty("体长/体高")
    private String lengthBiWeight;
    @ApiModelProperty("体长/头长")
    private String lengthBiHead;
    @ApiModelProperty("头长/吻长")
    private String headBiMouth;
    @ApiModelProperty("头长/眼径")
    private String headBiEyeRadius;
    @ApiModelProperty("头长/眼间距")
    private String headBiEyeDistance;
    @ApiModelProperty("体长/尾柄长")
    private String lengthBiTail;
    @ApiModelProperty("尾柄长/尾柄高")
    private String tailLengthBiTailHeight;
    @ApiModelProperty("年龄")
    private String age;
    @ApiModelProperty("实测体长")
    private String measuringLength;
    @ApiModelProperty("实测体重")
    private String measuringWeight;
    @ApiModelProperty("同工酶（图片）")
    private String tongGongMeiImg;

    @ApiModelProperty("核型")
    @TableField("RST_number")
    private String rstNumber;

    @ApiModelProperty("渔业种质Id")
    @TableField("RST_core")
    private String rstCore;

    @ApiModelProperty("核型公式")
    @TableField("RST_core_fomulation")
    private String rstCoreFomulation;

    @ApiModelProperty("染色体臀数")
    @TableField("RST_tun_number")
    private String rstTunNumber;

    @ApiModelProperty("染色体组型（图片）")
    @TableField("RST_shape_img")
    private String rstShapeImg;
    @ApiModelProperty("原产地")
    private String homeland;
    @ApiModelProperty("东经")
    private String eastLongitude;
    @ApiModelProperty("北纬")
    private String northernLatitude;
    @ApiModelProperty("X坐标(给散点图用)")
    private String xAxis;
    @ApiModelProperty("Y坐标(给散点图用)")
    private String yAxis;
    @ApiModelProperty("样品类型")
    private String sampleType;
    @JsonIgnore
    private Integer ideletetag;
//    @ApiModelProperty("创建者")
//    private String createdBy;
//    @ApiModelProperty("修改者")
//    private String modifiedBy;
//    @ApiModelProperty("创建时间")
//    private LocalDateTime createdTime;
//   // @TableField("modified_time", update="now()") //使用数据库时间
//    @ApiModelProperty("修改时间")
//    private LocalDateTime modifiedTime;
    @ApiModelProperty("区块号")
    private Integer blockNumber;
//    @Override
//    protected Serializable pkVal() {
//        return this.fisheryId;
//    }

}
